package com.sc.nft.task;

import com.sc.nft.entity.SaasTask;
import com.sc.nft.service.SaasTaskService;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;
/**
 * saatTask任务定时任务
 */
@Component
@RequiredArgsConstructor
@Slf4j
public class SaasTaskTask {

    private final SaasTaskService saasTaskService;

    /**
     * 每日任务,每天重置的任务
     *
     * @throws Exception
     */
    @XxlJob("everydayTask")
    public void everydayTask() throws Exception {
        // 获取所有每日重置的任务.
        List<SaasTask> saasTasks = saasTaskService.everydayTask();
        for (SaasTask saasTask : saasTasks) {
            // 重置任务
            saasTaskService.resetTask(saasTask);
        }
    }


    /**
     * 每周任务,每周重置的任务
     *
     * @throws Exception
     */
    @XxlJob("weeklyTask")
    public void weeklyTask() throws Exception {
        List<SaasTask> saasTasks = saasTaskService.weeklyTask();
        for (SaasTask saasTask : saasTasks) {
            // 重置任务
            saasTaskService.resetTask(saasTask);
        }
    }
}
